package cn.wuxing.mediation.common.core.domain.entity;

import cn.wuxing.mediation.common.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
import lombok.ToString;

/**
 * @description: <描述>
 * @date: 2024/9/18 15:24
 * @author: yang
 * @version: 1.0
 */
@Data
@ToString
@TableName("cm_mediation_record")
public class CmMediationRecord extends BaseEntity {

    /** 调解记录ID */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 事项ID */
    @TableField("event_id")
    private Long eventId;

    /**
     * 事件类别 1.非纠纷事项 2.一般纠纷件事项 3.诉前调解件
     */
    @TableField("event_category")
    private Integer eventCategory;

    /**
     * 调解组织
     */
    @TableField("mediator_dept")
    private String mediatorDept;

    /** 调解人所在调解委员会ID */
    @TableField("mediator_committee_id")
    private String mediatorCommitteeId;

    /** 协助调解委员会ID */
    @TableField("assistance_dept")
    private String assistanceDept;

    /** 主办调解员ID */
    @TableField("mediator_mediator_user_id")
    private String mediatorUserId;

    /** 协办调解员ID */
    @TableField("assistance_mediator_user_id")
    private String assistanceMediatorUserId;

    /** 调解时间 */
    @TableField("mediation_time")
    private Date mediationTime;

    /** 调解书编号 */
    @TableField("mediation_record_code")
    private String mediationRecordCode;

    /** 调解结果 1.调解成功 2.调解失败 */
    @TableField("mediation_result")
    private String mediationResult;

    /** 履行方式 1.赔偿损失 2.支付违约金 3.其他 */
    @TableField("fulfill_type")
    private String fulfillType;

    /** 履行状态 1.完全履行 2.部分履行 3.未履行 */
    @TableField("fulfill_state")
    private String fulfillState;

    /** 调解协议金 */
    @TableField("mediation_agreement_fee")
    private BigDecimal mediationAgreementFee;

    /** 调解结果原因 1.调解成功出具文书 2.调解成功撤回 3.其他 */
    @TableField("mediation_result_reason")
    private String mediationResultReason;

    /** 其他调解结果原因 */
    @TableField("other_mediation_result_reason")
    private String otherMediationResultReason;

    /** 调解是否满意 1.双方都满意 2.一方满意 3.双方都不满意 */
    @TableField("mediation_satisfaction_level")
    private String mediationSatisfactionLevel;

    /** 调解成功去向 1.协议已履行 2.履行跟踪 3.其他 */
    @TableField("mediation_success_whereabouts")
    private String mediationSuccessWhereabouts;

    /** 调解概况 */
    @TableField("mediation_overview")
    private String mediationOverview;

    /**
     * 调解不成功原因 1.无法联系当事人 2.当事人不愿认同对方所述 3.其他'
     */
    @TableField("mediation_unsuccessful_reason")
    private String mediationUnsuccessfulReason;

    /**
     * 调解不成功去向 1.转诉讼案件 2.转信访案件 3.其他
     */
    @TableField("mediation_unsuccessful_whereabouts")
    private String mediationUnsuccessfulWhereabouts;
}
